package cn.uexpo.lhz.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DictionaryItemExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DictionaryItemExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ITEM.id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ITEM.id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("ITEM.id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("ITEM.id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("ITEM.id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ITEM.id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("ITEM.id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("ITEM.id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("ITEM.id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("ITEM.id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("ITEM.name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("ITEM.name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("ITEM.name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("ITEM.name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("ITEM.name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("ITEM.name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("ITEM.name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("ITEM.name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("ITEM.name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("ITEM.name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("ITEM.name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("ITEM.name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("ITEM.name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andValueIsNull() {
            addCriterion("ITEM.value is null");
            return (Criteria) this;
        }

        public Criteria andValueIsNotNull() {
            addCriterion("ITEM.value is not null");
            return (Criteria) this;
        }

        public Criteria andValueEqualTo(String value) {
            addCriterion("ITEM.value =", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotEqualTo(String value) {
            addCriterion("ITEM.value <>", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueGreaterThan(String value) {
            addCriterion("ITEM.value >", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueGreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.value >=", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueLessThan(String value) {
            addCriterion("ITEM.value <", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueLessThanOrEqualTo(String value) {
            addCriterion("ITEM.value <=", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueLike(String value) {
            addCriterion("ITEM.value like", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotLike(String value) {
            addCriterion("ITEM.value not like", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueIn(List<String> values) {
            addCriterion("ITEM.value in", values, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotIn(List<String> values) {
            addCriterion("ITEM.value not in", values, "value");
            return (Criteria) this;
        }

        public Criteria andValueBetween(String value1, String value2) {
            addCriterion("ITEM.value between", value1, value2, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotBetween(String value1, String value2) {
            addCriterion("ITEM.value not between", value1, value2, "value");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNull() {
            addCriterion("ITEM.itemCode is null");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNotNull() {
            addCriterion("ITEM.itemCode is not null");
            return (Criteria) this;
        }

        public Criteria andItemcodeEqualTo(String value) {
            addCriterion("ITEM.itemCode =", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotEqualTo(String value) {
            addCriterion("ITEM.itemCode <>", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThan(String value) {
            addCriterion("ITEM.itemCode >", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.itemCode >=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThan(String value) {
            addCriterion("ITEM.itemCode <", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThanOrEqualTo(String value) {
            addCriterion("ITEM.itemCode <=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLike(String value) {
            addCriterion("ITEM.itemCode like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotLike(String value) {
            addCriterion("ITEM.itemCode not like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeIn(List<String> values) {
            addCriterion("ITEM.itemCode in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotIn(List<String> values) {
            addCriterion("ITEM.itemCode not in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeBetween(String value1, String value2) {
            addCriterion("ITEM.itemCode between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotBetween(String value1, String value2) {
            addCriterion("ITEM.itemCode not between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeIsNull() {
            addCriterion("ITEM.dictCode is null");
            return (Criteria) this;
        }

        public Criteria andDictcodeIsNotNull() {
            addCriterion("ITEM.dictCode is not null");
            return (Criteria) this;
        }

        public Criteria andDictcodeEqualTo(String value) {
            addCriterion("ITEM.dictCode =", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeNotEqualTo(String value) {
            addCriterion("ITEM.dictCode <>", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeGreaterThan(String value) {
            addCriterion("ITEM.dictCode >", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.dictCode >=", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeLessThan(String value) {
            addCriterion("ITEM.dictCode <", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeLessThanOrEqualTo(String value) {
            addCriterion("ITEM.dictCode <=", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeLike(String value) {
            addCriterion("ITEM.dictCode like", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeNotLike(String value) {
            addCriterion("ITEM.dictCode not like", value, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeIn(List<String> values) {
            addCriterion("ITEM.dictCode in", values, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeNotIn(List<String> values) {
            addCriterion("ITEM.dictCode not in", values, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeBetween(String value1, String value2) {
            addCriterion("ITEM.dictCode between", value1, value2, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDictcodeNotBetween(String value1, String value2) {
            addCriterion("ITEM.dictCode not between", value1, value2, "dictcode");
            return (Criteria) this;
        }

        public Criteria andDicidIsNull() {
            addCriterion("ITEM.dicId is null");
            return (Criteria) this;
        }

        public Criteria andDicidIsNotNull() {
            addCriterion("ITEM.dicId is not null");
            return (Criteria) this;
        }

        public Criteria andDicidEqualTo(Integer value) {
            addCriterion("ITEM.dicId =", value, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidNotEqualTo(Integer value) {
            addCriterion("ITEM.dicId <>", value, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidGreaterThan(Integer value) {
            addCriterion("ITEM.dicId >", value, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidGreaterThanOrEqualTo(Integer value) {
            addCriterion("ITEM.dicId >=", value, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidLessThan(Integer value) {
            addCriterion("ITEM.dicId <", value, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidLessThanOrEqualTo(Integer value) {
            addCriterion("ITEM.dicId <=", value, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidIn(List<Integer> values) {
            addCriterion("ITEM.dicId in", values, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidNotIn(List<Integer> values) {
            addCriterion("ITEM.dicId not in", values, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.dicId between", value1, value2, "dicid");
            return (Criteria) this;
        }

        public Criteria andDicidNotBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.dicId not between", value1, value2, "dicid");
            return (Criteria) this;
        }

        public Criteria andUsableIsNull() {
            addCriterion("ITEM.usable is null");
            return (Criteria) this;
        }

        public Criteria andUsableIsNotNull() {
            addCriterion("ITEM.usable is not null");
            return (Criteria) this;
        }

        public Criteria andUsableEqualTo(Integer value) {
            addCriterion("ITEM.usable =", value, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableNotEqualTo(Integer value) {
            addCriterion("ITEM.usable <>", value, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableGreaterThan(Integer value) {
            addCriterion("ITEM.usable >", value, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableGreaterThanOrEqualTo(Integer value) {
            addCriterion("ITEM.usable >=", value, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableLessThan(Integer value) {
            addCriterion("ITEM.usable <", value, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableLessThanOrEqualTo(Integer value) {
            addCriterion("ITEM.usable <=", value, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableIn(List<Integer> values) {
            addCriterion("ITEM.usable in", values, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableNotIn(List<Integer> values) {
            addCriterion("ITEM.usable not in", values, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.usable between", value1, value2, "usable");
            return (Criteria) this;
        }

        public Criteria andUsableNotBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.usable not between", value1, value2, "usable");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("ITEM.remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("ITEM.remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("ITEM.remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("ITEM.remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("ITEM.remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("ITEM.remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("ITEM.remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("ITEM.remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("ITEM.remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("ITEM.remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("ITEM.remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("ITEM.remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("ITEM.remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andExtstr1IsNull() {
            addCriterion("ITEM.extStr1 is null");
            return (Criteria) this;
        }

        public Criteria andExtstr1IsNotNull() {
            addCriterion("ITEM.extStr1 is not null");
            return (Criteria) this;
        }

        public Criteria andExtstr1EqualTo(String value) {
            addCriterion("ITEM.extStr1 =", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1NotEqualTo(String value) {
            addCriterion("ITEM.extStr1 <>", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1GreaterThan(String value) {
            addCriterion("ITEM.extStr1 >", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1GreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr1 >=", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1LessThan(String value) {
            addCriterion("ITEM.extStr1 <", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1LessThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr1 <=", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1Like(String value) {
            addCriterion("ITEM.extStr1 like", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1NotLike(String value) {
            addCriterion("ITEM.extStr1 not like", value, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1In(List<String> values) {
            addCriterion("ITEM.extStr1 in", values, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1NotIn(List<String> values) {
            addCriterion("ITEM.extStr1 not in", values, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1Between(String value1, String value2) {
            addCriterion("ITEM.extStr1 between", value1, value2, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr1NotBetween(String value1, String value2) {
            addCriterion("ITEM.extStr1 not between", value1, value2, "extstr1");
            return (Criteria) this;
        }

        public Criteria andExtstr2IsNull() {
            addCriterion("ITEM.extStr2 is null");
            return (Criteria) this;
        }

        public Criteria andExtstr2IsNotNull() {
            addCriterion("ITEM.extStr2 is not null");
            return (Criteria) this;
        }

        public Criteria andExtstr2EqualTo(String value) {
            addCriterion("ITEM.extStr2 =", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2NotEqualTo(String value) {
            addCriterion("ITEM.extStr2 <>", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2GreaterThan(String value) {
            addCriterion("ITEM.extStr2 >", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2GreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr2 >=", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2LessThan(String value) {
            addCriterion("ITEM.extStr2 <", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2LessThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr2 <=", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2Like(String value) {
            addCriterion("ITEM.extStr2 like", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2NotLike(String value) {
            addCriterion("ITEM.extStr2 not like", value, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2In(List<String> values) {
            addCriterion("ITEM.extStr2 in", values, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2NotIn(List<String> values) {
            addCriterion("ITEM.extStr2 not in", values, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2Between(String value1, String value2) {
            addCriterion("ITEM.extStr2 between", value1, value2, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr2NotBetween(String value1, String value2) {
            addCriterion("ITEM.extStr2 not between", value1, value2, "extstr2");
            return (Criteria) this;
        }

        public Criteria andExtstr3IsNull() {
            addCriterion("ITEM.extStr3 is null");
            return (Criteria) this;
        }

        public Criteria andExtstr3IsNotNull() {
            addCriterion("ITEM.extStr3 is not null");
            return (Criteria) this;
        }

        public Criteria andExtstr3EqualTo(String value) {
            addCriterion("ITEM.extStr3 =", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3NotEqualTo(String value) {
            addCriterion("ITEM.extStr3 <>", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3GreaterThan(String value) {
            addCriterion("ITEM.extStr3 >", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3GreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr3 >=", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3LessThan(String value) {
            addCriterion("ITEM.extStr3 <", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3LessThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr3 <=", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3Like(String value) {
            addCriterion("ITEM.extStr3 like", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3NotLike(String value) {
            addCriterion("ITEM.extStr3 not like", value, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3In(List<String> values) {
            addCriterion("ITEM.extStr3 in", values, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3NotIn(List<String> values) {
            addCriterion("ITEM.extStr3 not in", values, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3Between(String value1, String value2) {
            addCriterion("ITEM.extStr3 between", value1, value2, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr3NotBetween(String value1, String value2) {
            addCriterion("ITEM.extStr3 not between", value1, value2, "extstr3");
            return (Criteria) this;
        }

        public Criteria andExtstr4IsNull() {
            addCriterion("ITEM.extStr4 is null");
            return (Criteria) this;
        }

        public Criteria andExtstr4IsNotNull() {
            addCriterion("ITEM.extStr4 is not null");
            return (Criteria) this;
        }

        public Criteria andExtstr4EqualTo(String value) {
            addCriterion("ITEM.extStr4 =", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4NotEqualTo(String value) {
            addCriterion("ITEM.extStr4 <>", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4GreaterThan(String value) {
            addCriterion("ITEM.extStr4 >", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4GreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr4 >=", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4LessThan(String value) {
            addCriterion("ITEM.extStr4 <", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4LessThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr4 <=", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4Like(String value) {
            addCriterion("ITEM.extStr4 like", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4NotLike(String value) {
            addCriterion("ITEM.extStr4 not like", value, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4In(List<String> values) {
            addCriterion("ITEM.extStr4 in", values, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4NotIn(List<String> values) {
            addCriterion("ITEM.extStr4 not in", values, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4Between(String value1, String value2) {
            addCriterion("ITEM.extStr4 between", value1, value2, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr4NotBetween(String value1, String value2) {
            addCriterion("ITEM.extStr4 not between", value1, value2, "extstr4");
            return (Criteria) this;
        }

        public Criteria andExtstr5IsNull() {
            addCriterion("ITEM.extStr5 is null");
            return (Criteria) this;
        }

        public Criteria andExtstr5IsNotNull() {
            addCriterion("ITEM.extStr5 is not null");
            return (Criteria) this;
        }

        public Criteria andExtstr5EqualTo(String value) {
            addCriterion("ITEM.extStr5 =", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5NotEqualTo(String value) {
            addCriterion("ITEM.extStr5 <>", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5GreaterThan(String value) {
            addCriterion("ITEM.extStr5 >", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5GreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr5 >=", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5LessThan(String value) {
            addCriterion("ITEM.extStr5 <", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5LessThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr5 <=", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5Like(String value) {
            addCriterion("ITEM.extStr5 like", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5NotLike(String value) {
            addCriterion("ITEM.extStr5 not like", value, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5In(List<String> values) {
            addCriterion("ITEM.extStr5 in", values, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5NotIn(List<String> values) {
            addCriterion("ITEM.extStr5 not in", values, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5Between(String value1, String value2) {
            addCriterion("ITEM.extStr5 between", value1, value2, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr5NotBetween(String value1, String value2) {
            addCriterion("ITEM.extStr5 not between", value1, value2, "extstr5");
            return (Criteria) this;
        }

        public Criteria andExtstr6IsNull() {
            addCriterion("ITEM.extStr6 is null");
            return (Criteria) this;
        }

        public Criteria andExtstr6IsNotNull() {
            addCriterion("ITEM.extStr6 is not null");
            return (Criteria) this;
        }

        public Criteria andExtstr6EqualTo(String value) {
            addCriterion("ITEM.extStr6 =", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6NotEqualTo(String value) {
            addCriterion("ITEM.extStr6 <>", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6GreaterThan(String value) {
            addCriterion("ITEM.extStr6 >", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6GreaterThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr6 >=", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6LessThan(String value) {
            addCriterion("ITEM.extStr6 <", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6LessThanOrEqualTo(String value) {
            addCriterion("ITEM.extStr6 <=", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6Like(String value) {
            addCriterion("ITEM.extStr6 like", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6NotLike(String value) {
            addCriterion("ITEM.extStr6 not like", value, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6In(List<String> values) {
            addCriterion("ITEM.extStr6 in", values, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6NotIn(List<String> values) {
            addCriterion("ITEM.extStr6 not in", values, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6Between(String value1, String value2) {
            addCriterion("ITEM.extStr6 between", value1, value2, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtstr6NotBetween(String value1, String value2) {
            addCriterion("ITEM.extStr6 not between", value1, value2, "extstr6");
            return (Criteria) this;
        }

        public Criteria andExtint1IsNull() {
            addCriterion("ITEM.extInt1 is null");
            return (Criteria) this;
        }

        public Criteria andExtint1IsNotNull() {
            addCriterion("ITEM.extInt1 is not null");
            return (Criteria) this;
        }

        public Criteria andExtint1EqualTo(Integer value) {
            addCriterion("ITEM.extInt1 =", value, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1NotEqualTo(Integer value) {
            addCriterion("ITEM.extInt1 <>", value, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1GreaterThan(Integer value) {
            addCriterion("ITEM.extInt1 >", value, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1GreaterThanOrEqualTo(Integer value) {
            addCriterion("ITEM.extInt1 >=", value, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1LessThan(Integer value) {
            addCriterion("ITEM.extInt1 <", value, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1LessThanOrEqualTo(Integer value) {
            addCriterion("ITEM.extInt1 <=", value, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1In(List<Integer> values) {
            addCriterion("ITEM.extInt1 in", values, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1NotIn(List<Integer> values) {
            addCriterion("ITEM.extInt1 not in", values, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1Between(Integer value1, Integer value2) {
            addCriterion("ITEM.extInt1 between", value1, value2, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint1NotBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.extInt1 not between", value1, value2, "extint1");
            return (Criteria) this;
        }

        public Criteria andExtint2IsNull() {
            addCriterion("ITEM.extInt2 is null");
            return (Criteria) this;
        }

        public Criteria andExtint2IsNotNull() {
            addCriterion("ITEM.extInt2 is not null");
            return (Criteria) this;
        }

        public Criteria andExtint2EqualTo(Integer value) {
            addCriterion("ITEM.extInt2 =", value, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2NotEqualTo(Integer value) {
            addCriterion("ITEM.extInt2 <>", value, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2GreaterThan(Integer value) {
            addCriterion("ITEM.extInt2 >", value, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2GreaterThanOrEqualTo(Integer value) {
            addCriterion("ITEM.extInt2 >=", value, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2LessThan(Integer value) {
            addCriterion("ITEM.extInt2 <", value, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2LessThanOrEqualTo(Integer value) {
            addCriterion("ITEM.extInt2 <=", value, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2In(List<Integer> values) {
            addCriterion("ITEM.extInt2 in", values, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2NotIn(List<Integer> values) {
            addCriterion("ITEM.extInt2 not in", values, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2Between(Integer value1, Integer value2) {
            addCriterion("ITEM.extInt2 between", value1, value2, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtint2NotBetween(Integer value1, Integer value2) {
            addCriterion("ITEM.extInt2 not between", value1, value2, "extint2");
            return (Criteria) this;
        }

        public Criteria andExtdate1IsNull() {
            addCriterion("ITEM.extDate1 is null");
            return (Criteria) this;
        }

        public Criteria andExtdate1IsNotNull() {
            addCriterion("ITEM.extDate1 is not null");
            return (Criteria) this;
        }

        public Criteria andExtdate1EqualTo(Date value) {
            addCriterion("ITEM.extDate1 =", value, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1NotEqualTo(Date value) {
            addCriterion("ITEM.extDate1 <>", value, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1GreaterThan(Date value) {
            addCriterion("ITEM.extDate1 >", value, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1GreaterThanOrEqualTo(Date value) {
            addCriterion("ITEM.extDate1 >=", value, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1LessThan(Date value) {
            addCriterion("ITEM.extDate1 <", value, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1LessThanOrEqualTo(Date value) {
            addCriterion("ITEM.extDate1 <=", value, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1In(List<Date> values) {
            addCriterion("ITEM.extDate1 in", values, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1NotIn(List<Date> values) {
            addCriterion("ITEM.extDate1 not in", values, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1Between(Date value1, Date value2) {
            addCriterion("ITEM.extDate1 between", value1, value2, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate1NotBetween(Date value1, Date value2) {
            addCriterion("ITEM.extDate1 not between", value1, value2, "extdate1");
            return (Criteria) this;
        }

        public Criteria andExtdate2IsNull() {
            addCriterion("ITEM.extDate2 is null");
            return (Criteria) this;
        }

        public Criteria andExtdate2IsNotNull() {
            addCriterion("ITEM.extDate2 is not null");
            return (Criteria) this;
        }

        public Criteria andExtdate2EqualTo(Date value) {
            addCriterion("ITEM.extDate2 =", value, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2NotEqualTo(Date value) {
            addCriterion("ITEM.extDate2 <>", value, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2GreaterThan(Date value) {
            addCriterion("ITEM.extDate2 >", value, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2GreaterThanOrEqualTo(Date value) {
            addCriterion("ITEM.extDate2 >=", value, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2LessThan(Date value) {
            addCriterion("ITEM.extDate2 <", value, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2LessThanOrEqualTo(Date value) {
            addCriterion("ITEM.extDate2 <=", value, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2In(List<Date> values) {
            addCriterion("ITEM.extDate2 in", values, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2NotIn(List<Date> values) {
            addCriterion("ITEM.extDate2 not in", values, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2Between(Date value1, Date value2) {
            addCriterion("ITEM.extDate2 between", value1, value2, "extdate2");
            return (Criteria) this;
        }

        public Criteria andExtdate2NotBetween(Date value1, Date value2) {
            addCriterion("ITEM.extDate2 not between", value1, value2, "extdate2");
            return (Criteria) this;
        }
        
//        扩展查询
        public Criteria andDictType(String value) {
            addCriterion("DICT.type =", value, "type");
            return (Criteria) this;
        }
        
        public Criteria andDictCodeEqualTo(String value) {
        	addCriterion("DICT.dictCode =", value, "dictCode");
        	return (Criteria) this;
        }
        
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}